﻿using System;
using System.Collections.Generic;

namespace QuickRunCore
{
    /// <summary>
    /// 自定义事件
    /// </summary>
    public class MyEventArgs : EventArgs

    {
        private object tag;
        public MyEventArgs(object _tag)
        {
            this.tag = _tag;
        }

        public object Tag
        {
            get
            {
                return tag;
            }
            set
            {
                tag = value;
            }
        }
    }

    public class Common
    {
        /// <summary>
        /// 需要隐藏图标的程序路径
        /// </summary>
        public static List<string> HideIconProcPath;

        public static List<WinProc> IconProc;

        /// <summary>
        /// 需要隐藏窗体的程序信息
        /// </summary>
        public static HideWindowConfig HideWindowConfig;

    }

    public class HideWindowConfig
    {
        /// <summary>
        /// 隐藏所有窗体的快捷键
        /// </summary>
        public string HideAllHotKey { get; set; }

        /// <summary>
        /// 需要隐藏的窗体信息
        /// </summary>
        public List<HideWindowInfo> HideWindowList { get; set; }
    }

    public class HideWindowInfo
    {
        /// <summary>
        /// 窗体程序进程名
        /// </summary>
        public string ProcessName { get; set; }

        /// <summary>
        /// 隐藏快捷键
        /// </summary>
        public string HideHotKey { get; set; }
    }

    public class WinProc
    {
        //唯一ID
        public int id
        {
            get; set;
        }
        //是否隐藏
        public bool isHide
        {
            get; set;
        }
        //窗口句柄
        public string hWnd
        {
            get; set;
        }
        //进程句柄
        public string hProcess
        {
            get; set;
        }
        //进程ID
        public string dwProcessID
        {
            get; set;
        }
        public int idCommand
        {
            get; set;
        }
        //进程映象路径
        public string lpProcImagePath
        {
            get; set;
        }
        //托盘图标提示内容
        public string lpTrayToolTip
        {
            get; set;
        }

        //托盘图标
        public System.Drawing.Icon hIcon
        {
            get; set;
        }
    }
}
